#include <string>
#include "node.h"
#include "operand.h"

namespace AST {

    // Construtor Padrão
    Operand::Operand(std::string* content) {
        // Configuração Inicial
        this->_setContent(content);
    };

    // Configuração do Conteúdo
    Operand* Operand::_setContent(std::string* content) {
        // Configuração
        this->_content = content;
        // Encadeamento
        return this;
    };

    // Captura de Conteúdo
    std::string* Operand::getContent() {
        // Apresentação
        return this->_content;
    };

    // Sobrescrita
    std::string Operand::toString(int indent) {
        return this->getIndentSpaces(indent)
            + "Operand '" + (*this->getContent()) + "'";
    }

};

